home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PsL Monthly 1993 December
/
PSL Monthly Shareware CD-ROM (December 1993).iso
/
prgmming
/
dos
/
c
/
rng.exe
/
RAN.H
< prev
next >
Wrap
C/C++ Source or Header
|
1991-12-19
|
1KB
|
55 lines
/* ran.h - define constants, data types, and files used in random number
** generator
**
** Author: Kent E. Holsinger
**
** Revision history
** ----------------
**
** Version 1.0 -- 24 January 1990
** Original version of Knuth additive random number generator
**
** Version 1.1 -- 24 January 1990
** ran() changed to macro operating on long
**
** Version 2.1 -- 31 December 1990
** Added Marsaglia generator with conditional compilation
**
** Version 2.3
** Converted both generators to return unsigned long
**
*/
#define RAN_MAR /* either RAN_MAR or RAN_KNU must be defined here */
/* #define RAN_KNU /* either RAN_MAR or RAN_KNU must be defined here */
/* CONSTANT AND MACRO DEFINITIONS */
#ifdef RAN_KNU
#define NO_NUMBERS 0xffffffff
#define CONV_REAL 4294967296.0
#define RND_BITS 32
#define RND_BITMSK 0xffffffff
#endif
#ifdef RAN_MAR
#define NO_NUMBERS 16777216
#define CONV_REAL 16777216.0
#define RND_BITS 24
#define RND_BITMSK 0x00ffffff
#endif
#define ran() ((double)irand()/CONV_REAL)
/* FUNCTION PROTOTYPES */
#ifdef __STDC__
void setup(unsigned long *seed);
unsigned long irand(void);
int poiss(double mean);
int binom(int n, double p);
#else
void setup();
unsigned long irand();
int poiss();
int binom();
#endif